package com.vue.service;

import com.vue.dto.NewPasswordDTO;
import com.vue.dto.LoginDTO;
import com.vue.dto.StudentPageQueryDTO;
import com.vue.entity.Student;
import com.vue.result.PageResult;
import com.vue.dto.StudentDTO;
import com.vue.vo.UserInfoVO;
import org.springframework.stereotype.Service;

@Service
public interface StudentService {

    /**
     * 学生登录
     * @param loginDTO
     * @return
     */
    Student login(LoginDTO loginDTO);

    /**
     * 获取学生信息
     * @param userInfoDTO
     * @return
     */
    Student getUserInfo(UserInfoVO userInfoDTO);

    /**
     * 学生找回密码
     * @param forgetPasswordDTO
     */
    void forgetPassword(NewPasswordDTO forgetPasswordDTO);

    /**
     * 学生分页查询
     * @param studentPageQueryDTO
     * @return
     */
    PageResult studentPageQuery(StudentPageQueryDTO studentPageQueryDTO);


    /**
     * 根据id删除学生
     * @param id
     */
    void deleteById(Long id);

    /**
     * 添加学生
     * @param studentDTO
     */
    void add(StudentDTO studentDTO);

    /**
     * 修改学生信息
     * @param studentDTO
     */
    void update(StudentDTO studentDTO);

    /**
     * 修改学生密码
     * @param newPwd
     */
    void updatePwd(String newPwd);
}
